package br.cefetrn.booknet.administracao.processadores;

import br.cefetrn.booknet.administracao.dominio.SalvarLivro;
import br.cefetrn.booknet.infraestrutura.dominio.DominioNegocio;
import br.cefetrn.booknet.infraestrutura.excecoes.BancoException;
import br.cefetrn.booknet.infraestrutura.excecoes.RegraNegocioException;
import br.cefetrn.booknet.infraestrutura.processador.ProcessadorAbstrato;
import br.cefetrn.persistencia.FachadaBancoJPA;
/**
 * <p></p>
 * @author Kellyson
 * @since 21/06/2007
 */
public class ProcessadorSalvarLivro extends ProcessadorAbstrato<SalvarLivro> {

	@Override
	public SalvarLivro processar(SalvarLivro dominioNegocio) throws RegraNegocioException, BancoException {
		
		if(dominioNegocio.getLivro().getCodigo() == -1){
			
			FachadaBancoJPA.getInstacia().salvar(dominioNegocio.getLivro());
			dominioNegocio.setStatus(DominioNegocio.SUCESSO);
			dominioNegocio.setMensagem("Livro Cadastrado.");
			
		}else{
			
			FachadaBancoJPA.getInstacia().atualizar(dominioNegocio.getLivro());
			dominioNegocio.setStatus(DominioNegocio.SUCESSO);
			dominioNegocio.setMensagem("Livro Atualizado.");			
		}
			return dominioNegocio;
	}

}
